小米路由的IPv6支持教程(纯转保存)

您所在的位置:网站首页 小米路由器 配置ipv6防火墙怎么设置 小米路由的IPv6支持教程(纯转保存)

小米路由的IPv6支持教程(纯转保存)

2024-07-15 18:43| 来源: 网络整理| 查看: 265

小米路由器其实已经内置了适用于IPv6的相关模块,但未提供打开的方式。在官方正式支持之前,以下教程给出一种打开小米路由对宽带IPv6支持的方案。

请注意:   IPv6需要宽带运营商的支持。   以下内容以R2D(系统版本:2.25.209)为例,截止发帖时可用。不清楚其他路由型号是否适用。

本案例支持的是小米路由以PPPoE方式获得宽带光猫(桥接模式)下发的IPv6配置。不是指“教育网IPv6插件”。   需要root和开启SSH。这两个操作存在风险,如还未开启请谨慎决定。   本方法开启后的IPv6可能会偶然存在不稳定情况,可能会与某些插件产生冲突。   本教程供爱好者个人研究,请勿在生产环境等可能会因网络问题造成损失的场景使用。   默认使用PuTTY和WinSCP进行相关操作。

方法:

目的是在“教育网IPv6插件”不开启的情况下,也要打开路由器的IPv6总开关。 找到路由器内部文件 /etc/config/ipv6 ,替换为:

config ipv6 'settings' list if_on 'wan' option enabled '1' list if_on 'ipv6' option enabled '1'

复制代码 (如需预留恢复原状的可能,请备份原来的文件内容)   之后重启路由器,通过 http://ipv6-test.com/、http://www.test-ipv6.com/ 等网站验证是否配置成功。

讨论:   其实还存在其他的改法,但需要提醒的是,某些写法重启后会被系统自动改回去。   有资料显示要改/etc/config/network、/etc/config/dhcp,不过小米路由似乎不需要修改。

对于上海电信用户需要配置4K IPTV的,可以参见:http://www.miui.com/thread-6990020-1-1.html

如果有同样成功的请回帖说一下,以免我遗漏了一些内容。

2019/3/2更新:对于宽带光猫路由模式支持

本段教程在作者电信光猫(光猫拨号、路由模式,小米路由 DHCP)下的小米路由器R2D中试验成功,无法保证在其它设备上能够正常运作。   本段教程涉及操作较多,如操作不当,存在使路由器崩溃的风险,应做好相关准备。   确保光猫配置界面“IPv6 连接信息”能够获得 IPv6 地址且前缀小于\64。检查“LAN侧地址配置-IPv6配置”中“RADVD”已经起用。   对于光猫路由模式的支持基于前面的教程。请先阅读前述教程注意事项、完成所有步骤。   此时,通过网站验证 IPv6 会面临失败。然而,在局域网中电脑的cmd中运行:

ipconfig -all

复制代码

可以看到已经正常获得了公网“IPv6 地址”。(“本地链接 IPv6 地址”为“fe80”开头,如果仅有这项代表不成功)

另一个重要的判断依据需要登陆SSH进到路由器,然后在SSH中运行: ping6 ipv6.tsinghua.edu.cn 复制代码

此时应该能够得到IPv6地址(2402:f000:1:881::8:205)和 ping 反馈。

还可以运行:

ifconfig

复制代码

检查 eth0.2 的 inet6 addr 是否正常获得地址和小于等于/64的前缀。

如果都检查通过,说明路由器本体可以连上 IPv6 ,且具备向下属设备进一步 SLAAC 的能力。

方法:

小米路由事实上已经实现了大多数的 IPv6 支持,然而由于固件版本太低,唯独 NDP 在光猫路由情形下无法正常工作,需要额外可执行文件来帮忙。   6relayd 可以作为合适的 NDP 中继。其实 6relayd 功能还有很多,更有 odhcpd 作为更丰富的继承者。然而这两个组件官方均未提供使用,于是运用小米提供的 SDK 自行编译了 6relayd :    将 6relayd 文件放入/sbin/并使其可执行。由于该文件夹默认只读,先在 SSH 中输入以下命令解锁:

mount -o remount rw /

之后,用之前推荐的软件通过 SCP 把文件放入上述文件夹。并授予其可执行权限:

chmod +x /sbin/6relayd

此时,在SSH中执行“6relayd”应该会显示程序的帮助信息。 在本案例中,输入如下命令:

6relayd -N eth0.2 br-lan

重启局域网中的计算机后,再通过网站验证 IPv6,应当会通过验证。

走到这一步,说明全部的技术路线已经打通。为了让 6relayd 能够在路由器重启后自动执行,将其附加在开机自动执行的脚本上。以 /etc/init.d/plugin_start_.sh 为例,加入的方式如下:

netmode=$(uci get xiaoqiang.common.NETMODE) if [ "$netmode"x != "lanapmode"x ] && [ "$netmode"x != "wifiapmode"x ] then copy_plugin_chroot_file sync # decrese current priority and throw myself to mem cgroup # so all plugins inherit those attributes renice -n+10 -p $ echo $ > /dev/cgroup/mem/group1/tasks /usr/sbin/plugin_start_impl.sh & 6relayd -d -N eth0.2 br-lan fi

重启路由器后,路由器下属设备应当自动获得正常的 IPv6 连接,这样的话就大功告成了。

开机启动中 6relayd 加入了 -d 参数以免阻塞脚本运行。   6relayd 源代码来源:https://github.com/sbyx/6relayd   小米路由交叉编译技术参考:http://www.book41.net/?p=832


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3